Along with the developments of mobile communication technologies, various applications are provided for mobile terminals. Since more and more functions of the application are developed, an installation package of the application is growing, and an upgrade process of the application needs more time and traffic. For the purpose of reducing the traffic and shorten the time when the application is upgraded in the mobile terminal, increment upgrade solutions are widely used currently.
In the increment upgrade solution, an old installation package and a new installation package are both binary file, differences between the old installation package and the new installation package are found out by using a bsdiff tool, and a patch package is obtained. The mobile terminal downloads the patch package, generates the new installation package by using a bspatch tool according to the old installation package stored in the mobile terminal and the downloaded patch package. Because the bsdiff algorithm is based on difference operation for binary files, any change of the old installation package or the new installation package will bring a different patch package.
Currently, the installation package of the application includes a data portion and a customized information portion. The bsdiff algorithm is performed only for the data portion, and the customized information portion is used to indicate various customized information, such as, a release channel of the installation package. That is, the same version of application may have different installation packages with the same data portion and different customized information portions. Accordingly, once the application is to be upgraded to a higher version, many patch packages with different customized information are needed. For example, when the application has 100 release channels, e.g. an official channel, an IE and a 360 browser and etc., 100 different patch packages with the same data portion needs to be provided, which results in heavy workload for developers.
As can be seen, in the conventional patch upgrade solution, when the application is to be upgraded to a new version, the data portion the developer has to provide a lot of patch packages corresponding to different customized information portions respectively, although the data portion for the new version of the application is unchanged.